/**
 * Project Name:UIMS
 * File Name:NoticeAction.java
 * Package Name:com.bgi.uims.module.sys.Notice.action
 * CreateDate:2015年3月27日 下午02:44:50
 * Copyright (c) 2015, BGI_DX All Rights Reserved.
 */     

package com.bgi.uims.module.sys.notice.action;

import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.bgi.uims.common.action.BaseAction;
import com.bgi.uims.common.dto.PageVo;
import com.bgi.uims.module.sys.notice.dto.Notice;
import com.bgi.uims.module.sys.notice.service.NoticeService;
import com.bgi.uims.module.sys.user.dto.User;
import com.bgi.uims.pub.utils.Constant;
import com.bgi.uims.pub.utils.PublicMethod;

/**
 * ClassName:NoticeAction 
 * Function: TODO 
 * Reason:	 TODO 
 * @CreateDate:2015年3月27日 下午02:44:50
 * @author   tantianhua
 * @version  
 * @since    JDK 1.7
 * @see 	 
 */
@Controller
@Scope("prototype")
public class NoticeAction extends BaseAction {
	
	/**  
	 * serialVersionUID:TODO（用一句话描述这个变量表示什么）  
	 */   
	private static final long serialVersionUID = -700919983611115341L;

	private PageVo pageVo = new PageVo();
	
	private Notice notice;
	
	@Resource
	private NoticeService noticeService;

	public PageVo getPageVo() {
		return pageVo;
	}

	public void setPageVo(PageVo pageVo) {
		this.pageVo = pageVo;
	}

	public Notice getNotice() {
		return notice;
	}

	public void setNotice(Notice notice) {
		this.notice = notice;
	}
	
	/**
	 * 
	 * @Description：  查询公告信息
	 * @author: tantianhua
	 * @CreateDate:2015年3月27日 下午02:44:50
	 * @version: V1.0
	 */
	public String findNotice()
	{
		if(notice==null)
		{
			notice=new Notice();
		}
		notice.getPage(this);
		pageVo=noticeService.queryNotice(notice);
		session.put(Constant.OPERATIONMSG, PublicMethod.operationMsg(Constant.SELECT,Constant.NOTICEMODULES,notice, null));
		pageVo.setSuccess(true);
		return SUCCESS;
	}
	
	/**
	 * 
	 * @Description：  查询单个公告信息
	 * @author: tantianhua
	 * @CreateDate:2015年3月27日 下午02:44:50
	 * @version: V1.0
	 */
	public String findNoticeById()
	{
		pageVo=new PageVo();
		pageVo.setObject(noticeService.findNoticeById(notice));
		session.put(Constant.OPERATIONMSG, PublicMethod.operationMsg(Constant.SELECT,Constant.NOTICEMODULES,notice, null));
		pageVo.setSuccess(true);
		return SUCCESS;
	}
	
	/**
	 * 
	 * @Description：  保存公告信息
	 * @author: tantianhua
	 * @CreateDate:2015年3月27日 下午02:44:50
	 * @version: V1.0
	 */
	public String saveNotice()
	{
		pageVo=new PageVo();
		if(notice==null){
			pageVo.setSuccess(false);
			pageVo.setMsg("版本号不允许为空!");
		}
		else
		{
			//获取登录的session
			User user=(User) session.get(Constant.LOGINUSER);
			if(notice.getNoticeId()!=null&&!"".equals(notice.getNoticeId())){
				Notice oleNotice = noticeService.findNoticeById(notice);
				notice.setLastModifiedUser(user.getRealName());
				pageVo=noticeService.saveNotice(notice);
				if(pageVo.isSuccess()) {
					session.put(Constant.OPERATIONMSG, PublicMethod.operationMsg(Constant.UPDATE,Constant.NOTICEMODULES , oleNotice, notice));
				}
			} else {
				notice.setCreateUser(user.getRealName());
				pageVo=noticeService.saveNotice(notice);
				if(pageVo.isSuccess()) {
					session.put(Constant.OPERATIONMSG, PublicMethod.operationMsg(Constant.INSERT,Constant.NOTICEMODULES , notice, null));
				}
			}
		}
		return SUCCESS;
	}
	
	/**
	 * 
	 * @Description：  删除公告信息
	 * @author: tantianhua
	 * @CreateDate:2015年3月27日 下午02:44:50
	 * @version: V1.0
	 */	
	public String deleteNotice(){
		pageVo=new PageVo();
		Notice oleNotice = noticeService.findNoticeById(notice);
		boolean f=  noticeService.deleteNotice(notice);
		if(f){
			session.put(Constant.OPERATIONMSG, PublicMethod.operationMsg(Constant.DELETE,Constant.NOTICEMODULES , oleNotice, null));
		}
		pageVo.setSuccess(f);
		return SUCCESS;
	}
	
	/**
	 * 
	 * @Description：  获取最新一条的公告
	 * @author: wuyaohong
	 * @CreateDate:2015年4月3日 下午3:11:31
	 * @version: V1.0
	 */
	public String getNewNotice(){
		pageVo = new PageVo();
		Notice n = noticeService.getNewNotice();
		pageVo.setObject(n);
		pageVo.setSuccess(true);
		return SUCCESS;
	}
}
